package zero.tech.games.logic.service.api;

import java.util.Map;

import zero.tech.core.data.Resp;
import zero.tech.core.data.SimpleUser;
import zero.tech.games.logic.common.Room;
import zero.tech.wsnet.controller.LogicController;
import zero.tech.wsnet.net.WebClient;

public interface ILogicService {
	void gameUpdateBatch(Room room,String joiners,String joiners_ai, Map<Integer, Long> gold_change_map, Map<Integer, Long> water_map);
	
	Resp roomCreated(Room room, SimpleUser simpleUser);

	Resp roomJoined(Room room, SimpleUser simpleUser);

	void reqRoomInfo(WebClient webClient, String token, String room_id);

	void reqReady(Room room, LogicController controller);

	void notifyBigCalculate(Room room);

	void reqDissolution(Room room, LogicController controller);

	void reqDissolutionAnswer(Room room, LogicController controller, int agree);

	void reqLeave(Room room, LogicController controller);

	void reqExitAutoDeposit(Room room, LogicController controller);

	void gameUpdateDiamondBatch(Room room, Map<Integer, Long> diamondchangemap);

	String getServiceId();

}
